IBM AT or compatible computers ("clones") comprise by far the largest installed base of computers ever built. The core element of a typical IBM AT or compatible computer is a printed circuit board called a motherboard. The motherboard comprises at least one CPU or microprocessor (e.g., an Intel or compatible 80286, 80386, 80486 or 80X86 microprocessor), memory (either chips mounted directly to the motherboard or SIMM sockets mounted to the board into which SIMM memory boards can be inserted), I/O ports, keyboard port, etc. Additionally, the motherboard usually has multiple identical I/O expansion slot connectors each of which contains multiple electrical contacts or pins. The corresponding pins of each slot connector are connected in parallel to provide the same signals on corresponding pins of each of these parallel slot connectors. This parallel arrangement of slot connectors in combination with a bus protocol for communication with the CPU, is referred to collectively as a bus. Specific. peripheral or external devices (e.g., disk drives, modems, video controllers, tape drives, etc.), communicate with the CPU via an interface card, called a bus adapter card, which is plugged into one of the slot connectors on the bus. Devices connected to the bus slot connectors communicate with the CPU by means of specific groupings of signals from the interface card with a specific translation protocol.
A typical bus has three principal groups of signal lines: 1) address lines providing a memory address; 2) data lines for providing data to the memory address; and 3) control lines for providing control and timing signals necessary for the address and data lines to relay the desired information to the CPU. Examples of commonly used bus structures include: ISA (Industry Standard Architecture) bus, EISA bus, MCA bus, PCI bus, C-bus, S-100 bus etc. Each type of bus is characterized by many factors including speed of operation, cost and acceptance in the marketplace. Generally, the buses are not compatible, i.e., an interface card must be designed to operate with one specific bus type and will not work in any other type of bus.
Bus incompatibility creates problems of bus obsolescence, bus non-upgradeability and bus non-flexibility. For example, peripheral devices which are connected to a CPU incorporated into a motherboard which utilizes an ISA bus cannot later be attached to a motherboard which utilizes an MCA bus. Such a transfer of devices would require new interface boards specifically designed for use with the MCA bus. Thus, interchangeability of devices among computers utilizing different bus structures is very difficult and expensive, and sometimes not possible. Such obsolescence affects primarily current computer motherboards and CPU boards with regards to the various standard buses and specialty buses.
One approach taken by several manufacturers to minimize this obsolescence is to incorporate one or more local bus slots (a separate, specialized bus) on the motherboard in addition to an industry standard bus. Typically, slower peripherals, such as modems, floppies, printers, etc., are interfaced via the industry standard bus, while faster peripherals, such as video displays, hard disks and network interfaces, are interfaced via the separate local bus. Unfortunately, industry standards for the local bus do not exist and each vendor uses a unique local bus design which is often proprietary.
Since most vendors attempt to provide their own proprietary (and different) local bus signals and connectors, there exists a need to either 1) establish an industry wide local bus standard to which most vendors would provide various peripheral adapters, or 2) provide a universal bus slot on the motherboard capable of supporting all current and future local bus implementations. However, even option 1, establishment of a uniform local bus standard adopted by a majority of vendors, has serious disadvantages. First, implementation of new and more desirable local bus techniques would be hindered by the adoption of an industry standard. Additionally, changes in the industry standard would likely be difficult to make and would likely render equipment built to an older standard obsolete. Thus, an industry wide local bus standard implemented on the motherboard may well thwart any possible future advances in local bus techniques. Thus, while adoption of a single industry wide local bus standard would overcome many of the disadvantages associated with having many different local buses, it would be even better to have a truly universal bus connection which could easily be changed to any desired local bus standard. In this manner, the high performance made possible by a local bus structure could be preserved without sacrificing the ability to rapidly and economically adapt to improvements in local bus technology.